﻿// Decompiled with JetBrains decompiler
// Type: TaleWorlds.MountAndBlade.View.ViewCreator
// Assembly: TaleWorlds.MountAndBlade.View, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 61152EB8-513B-4D4A-8AC0-0D1465C6CF6C
// Assembly location: D:\steam\steamapps\common\Mount & Blade II Bannerlord\Modules\Native\bin\Win64_Shipping_Client\TaleWorlds.MountAndBlade.View.dll

using TaleWorlds.Core;
using TaleWorlds.MountAndBlade.View.MissionViews;
using TaleWorlds.MountAndBlade.View.MissionViews.Order;
using TaleWorlds.MountAndBlade.View.MissionViews.Singleplayer;
using TaleWorlds.MountAndBlade.View.Screens;
using TaleWorlds.MountAndBlade.ViewModelCollection.OrderOfBattle;
using TaleWorlds.MountAndBlade.ViewModelCollection.Scoreboard;
using TaleWorlds.ScreenSystem;

#nullable disable
namespace TaleWorlds.MountAndBlade.View
{
  public static class ViewCreator
  {
    public static ScreenBase CreateCreditsScreen()
    {
      return ViewCreatorManager.CreateScreenView<CreditsScreen>();
    }

    public static ScreenBase CreateOptionsScreen(bool fromMainMenu)
    {
      return ViewCreatorManager.CreateScreenView<OptionsScreen>((object) fromMainMenu);
    }

    public static ScreenBase CreateMBFaceGeneratorScreen(
      BasicCharacterObject character,
      bool openedFromMultiplayer = false,
      IFaceGeneratorCustomFilter filter = null)
    {
      return ViewCreatorManager.CreateScreenView<FaceGeneratorScreen>((object) character, (object) openedFromMultiplayer, (object) filter);
    }

    public static MissionView CreateMissionAgentStatusUIHandler(Mission mission = null)
    {
      return ViewCreatorManager.CreateMissionView<MissionAgentStatusUIHandler>(mission != null, mission);
    }

    public static MissionView CreateMissionMainAgentEquipDropView(Mission mission)
    {
      return ViewCreatorManager.CreateMissionView<MissionMainAgentEquipDropView>(mission != null, mission);
    }

    public static MissionView CreateMissionSiegeEngineMarkerView(Mission mission)
    {
      return ViewCreatorManager.CreateMissionView<MissionSiegeEngineMarkerView>(mission != null, mission);
    }

    public static MissionView CreateMissionMainAgentEquipmentController(Mission mission = null)
    {
      return ViewCreatorManager.CreateMissionView<MissionMainAgentEquipmentControllerView>(mission != null, mission);
    }

    public static MissionView CreateMissionMainAgentCheerBarkControllerView(Mission mission = null)
    {
      return ViewCreatorManager.CreateMissionView<MissionMainAgentCheerBarkControllerView>(mission != null, mission);
    }

    public static MissionView CreateMissionAgentLockVisualizerView(Mission mission = null)
    {
      return ViewCreatorManager.CreateMissionView<MissionAgentLockVisualizerView>(mission != null, mission);
    }

    public static MissionView CreateOptionsUIHandler()
    {
      return ViewCreatorManager.CreateMissionView<MissionOptionsUIHandler>(false, (Mission) null);
    }

    public static MissionView CreateSingleplayerMissionKillNotificationUIHandler()
    {
      return ViewCreatorManager.CreateMissionView<MissionSingleplayerKillNotificationUIHandler>(false, (Mission) null);
    }

    public static MissionView CreateMissionAgentLabelUIHandler(Mission mission)
    {
      return ViewCreatorManager.CreateMissionView<MissionAgentLabelView>(mission != null, mission);
    }

    public static MissionView CreateMissionOrderUIHandler(Mission mission = null)
    {
      return ViewCreatorManager.CreateMissionView<MissionOrderUIHandler>(mission != null, mission);
    }

    public static MissionView CreateMissionOrderOfBattleUIHandler(
      Mission mission,
      OrderOfBattleVM dataSource)
    {
      return ViewCreatorManager.CreateMissionView<MissionOrderOfBattleUIHandler>(false, mission, (object) dataSource);
    }

    public static MissionView CreateMissionSpectatorControlView(Mission mission = null)
    {
      return ViewCreatorManager.CreateMissionView<MissionSpectatorControlView>(mission != null, mission);
    }

    public static MissionView CreateMissionBattleScoreUIHandler(
      Mission mission,
      ScoreboardBaseVM dataSource)
    {
      return ViewCreatorManager.CreateMissionView<MissionBattleScoreUIHandler>(false, mission, (object) dataSource);
    }

    public static MissionView CreateMissionBoundaryCrossingView()
    {
      return ViewCreatorManager.CreateMissionView<MissionBoundaryCrossingView>(false, (Mission) null);
    }

    public static MissionView CreateMissionLeaveView()
    {
      return ViewCreatorManager.CreateMissionView<MissionLeaveView>(false, (Mission) null);
    }

    public static MissionView CreatePhotoModeView()
    {
      return ViewCreatorManager.CreateMissionView<PhotoModeView>(false, (Mission) null);
    }

    public static MissionView CreateMissionSingleplayerEscapeMenu(bool isIronmanMode)
    {
      return ViewCreatorManager.CreateMissionView<MissionSingleplayerEscapeMenu>(false, (Mission) null, (object) isIronmanMode);
    }

    public static MissionView CreateOrderTroopPlacerView(Mission mission = null)
    {
      return ViewCreatorManager.CreateMissionView<OrderTroopPlacer>(mission != null, mission);
    }

    public static MissionView CreateMissionFormationMarkerUIHandler(Mission mission = null)
    {
      return ViewCreatorManager.CreateMissionView<MissionFormationMarkerUIHandler>(mission != null, mission);
    }
  }
}
